package com.fqgj.xjd.user.client;
/**
 * Created by zhangxingyun on 17/7/23.
 */

import com.fqgj.xjd.user.client.response.Evaluate;
import com.fqgj.xjd.user.client.response.UserTag;
import com.fqgj.xjd.user.client.enums.UserTagTypeEnum;

import java.util.List;

/**
 * @ClassName:
 * @Description: 用户特征信息服务
 * @Author zhangxingyun
 * @Create 2017-07-23 21:04
 */
public interface UserFeatureService {
    /**
     * 给用户打标签
     * @param userCode
     * @param tags
     * @return
     */
    Boolean addTagsToUser(String userCode, List<Long> tags);

    /**
     * 撤销用户标签
     * @param userCode
     * @param tags
     * @return
     */
    Boolean delUserTags(String userCode, List<Long> tags);

    /**
     *  获取用户标签
     * @param userCode
     * @param userTagTypeEnum
     * @return
     */
    List<UserTag> getUserTagsByType(String userCode, UserTagTypeEnum userTagTypeEnum);


    /**
     * 获取标签
     * @param tagIds
     * @return
     */
    List<UserTag> getInfoByTagIds(List<Long> tagIds);

    /**
     * 同标签类型获取标签
     * @param userTagTypeEnumList
     * @return
     */
    List<UserTag> getAllUserTagsByTypes(List<UserTagTypeEnum> userTagTypeEnumList);


    /**
     * 给用户评价
     * @param userCode
     * @param evaluate
     * @return
     */
    Boolean addEvaluateToUser(String userCode,Evaluate evaluate);

    /**
     * 获取用户评价
     * @param userCode
     * @return
     */
    List<Evaluate> getEvaluateListByUserCode (String userCode);

}
